package com.hhit.bigscreenbackmanage.dao.aqgl;

import cn.hutool.json.JSONArray;
import com.hhit.bigscreenbackmanage.entity.aqgl.TAqglFxCount;
import com.hhit.bigscreenbackmanage.vo.aqgl.AqglSearchVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface AqglFxCountDao {

    /**
     * @Description: 分页获取风险作业统计数据
     * @Author: qianchengcheng
     * @Date: 2021/7/21 16:02
     * @Param: []
     * @Return: java.util.List<com.hhit.bigscreenbackmanage.entity.aqgl.TAqglFxCount>
     **/
    List<TAqglFxCount> getAqglFxCountPageInfo(AqglSearchVo aqglSearchVo) throws Exception;

    /**
     * @Description: 根据datetime获取风险作业统计数据
     * @Author: qianchengcheng
     * @Date: 2021/7/26 16:55
     * @Param: [datetime]
     * @Return: java.util.List<java.lang.String>
     **/
    List<String> getAqglFxCountByDateTime(@Param("datetime") String datetime) throws Exception;

    /**
     * @Description: 根据主键编号批量删除数据
     * @Author: qianchengcheng
     * @Date: 2021/7/26 16:58
     * @Param: [ids]
     * @Return: int
     **/
    int batchDeleteAqglFxCountByIds(@Param("ids") List<String> ids) throws Exception;

    /**
     * @Description: 批量导入风险作业数量统计
     * @Author: qianchengcheng
     * @Date: 2021/7/21 16:08
     * @Param: [list]
     * @Return: int
     **/
    int batchInsertAqglFxCount(@Param("list") List<TAqglFxCount> list) throws Exception;

    /**
     * @Description: 条件查询风险作业数量统计
     * @Author: qianchengcheng
     * @Date: 2021/7/26 19:42
     * @Param: [param]
     * @Return: java.util.List<com.hhit.bigscreenbackmanage.entity.aqgl.TAqglFxCount>
     **/
    TAqglFxCount getAqglFxCountEntityByParam(Map<String,Object> param) throws Exception;

    /**
     * @Description:
     * @Author: qianchengcheng
     * @Date: 2021/7/28 13:26
     * @Param: [datetime, cityName]
     * @Return: java.util.List<com.hhit.bigscreenbackmanage.entity.aqgl.TAqglFxCount>
     **/
    List<TAqglFxCount> getAqglFxCounts(@Param("datetime") String datetime,@Param("cityName") String cityName) throws Exception;

    /**
     * @Description: 获取最近的一条数据
     * @Author: qianchengcheng
     * @Date: 2021/7/28 16:05
     * @Param: [datetime, cityName]
     * @Return: com.hhit.bigscreenbackmanage.entity.aqgl.TAqglFxCount
     **/
    TAqglFxCount getAqglFxCountRecently(@Param("datetime") String datetime,@Param("cityName") String cityName) throws Exception;


    /**
     * 获取月度风险完成情况
     * @param dataTime
     * @return
     * @throws Exception
     */
    JSONArray getMonthlyRiskCompletionTj(@Param("dataTime") String dataTime)throws Exception;

    /**
     * 获取月度风险完成情况
     * @param dataTime
     * @return
     * @throws Exception
     */
    Map<String,Object> getDayRiskManagementTj(@Param("dataTime") String dataTime) throws Exception;

}
